package com.xuecheng.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.api.content.model.dto.TeachplanDTO;
import com.xuecheng.content.entity.Teachplan;

/**
 * <p>
 * 课程计划 服务类
 * </p>
 *
 * @author itcast
 * @since 2021-08-07
 */
public interface TeachplanService extends IService<Teachplan> {

    /**
     * 根据课程ID查询课程计划
     * @param courseBaseId --Long--课程ID
     * @param companyId  --Long--请求头中获取的机构ID
     * @return --List<TeachplanDTO>--包含二级目录与三级目录
     */
    TeachplanDTO queryTeachPlanById(Long courseBaseId, Long companyId);


    /**
     * 课程计划的创建和修改
     * @param teachplanDTO --TeachplanDTO--将前端传入VO类-->DTO
     * @param companyId --Long--机构ID
     * @return  -- TeachplanDTO
     */
    TeachplanDTO createOrModifyTeachPlan(TeachplanDTO teachplanDTO,Long companyId);

    /**
     * 根据课程计划ID 删除课程计划
     * @param teachPlanId --前端传来的课程计划ID
     * @return --Boolean
     */
    Boolean removeTeachPlan(Long teachPlanId);

    /**
     * 根据课程计划ID 查询课程计划
     * @param teachPlanId --课程计划ID
     * @return -- TeachplanDTO
     */
    TeachplanDTO getTeachPlan(Long teachPlanId);
}
